package cn.tedu.map;

import org.junit.Test;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

public class TestMap {
    @Test
    public void test() {
        /*map中的数据 要符合映射规则，一定要注意同时制定key和value的数据类型
         * 至于K,V是什么类型，取决于业务*/
        Map<Integer, String> map = new HashMap<>();
        map.put(9527, "白骨精");
        map.put(9528, "黑熊精");
        map.put(9528, "玉兔精");//key不可以重复，会出现覆盖
        map.put(9529, "鲤鱼精");
        System.out.println(map);
        /*map中存放的数据都是无序的
         * Map中的值不可以被重复，重复的话会被覆盖掉
         * 打印结果  {9527=白骨精, 9528=玉兔精, 9529=鲤鱼精} 没有9528黑熊精
         */
      /*  map.clear();      //清空集合
        System.out.println(map);*/
        System.out.println(map.containsKey(9527));//true 是否包含指定Key
        System.out.println(map.containsValue("沙师弟"));//是否包含指定value
        System.out.println(map.get(9529));//根据key获取对应的value
        System.out.println(map.remove(9528));//根据key删除value K--V  均删除
        System.out.println(map.get(9528));
        System.out.println(map.containsKey(9528));
        System.out.println(map.size());//获取集合长度
        System.out.println(map.hashCode());//获取集合的哈希码值
        System.out.println(map.equals("黑熊精"));
        Collection<String> values = map.values();//获取所有的值放入一个集合当中
        System.out.println(values);
    }
}
